//package com.itheima.health.config;
//
//import org.springframework.context.annotation.Configuration;
//import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
//import org.springframework.security.config.annotation.authentication.configurers.provisioning.InMemoryUserDetailsManagerConfigurer;
//import org.springframework.security.config.annotation.web.builders.HttpSecurity;
//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
//
//@Configuration
//public class Test01WebSecurityConfig extends WebSecurityConfigurerAdapter {
//
//
//    @Override
//    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
//        // 用户详情创建一个配置类
//        InMemoryUserDetailsManagerConfigurer<AuthenticationManagerBuilder> configure = auth.inMemoryAuthentication();
//        // 配置三个用户
//        // 密码格式：{算法}密文   noop表示不加密,示例中的MD5值对应的原始密码是1234
//        // authorities用于提供用户的角色和权限，默认带ROLE_前缀的是角色，否则是权限
//        configure.withUser("admin").password("{noop}1234").authorities("ROLE_ADMIN");
//        configure.withUser("zhangsan").password("{noop}1234").authorities("ROLE_01","add");
//        configure.withUser("lisi").password("{MD5}81dc9bdb52d04dc20036dbd8313ed055").authorities("ROLE_02","find");
//    }
//
//
//    @Override
//    protected void configure(HttpSecurity http) throws Exception {
//        // 指定访问控制规则
//        // 1-通过authorizeRequests()开启一个拦截规则
//        // 2-通过antMatchers()指定需要拦截的资源，参数为ant表达式
//        //允许所有访问
//        http.authorizeRequests().antMatchers("*.js","*.css").permitAll()
//                //允许拥有 "add" 权限 和 "ROLE_ADMIN"角色的人访问
//                .antMatchers("/pages/checkitem.html").hasAnyAuthority("add","ROLE_ADMIN")
//                //只有拥有 "find" 权限的人访问
//                .antMatchers("/pages/checkgroup.html").hasAuthority("find")
//                //允许登录的人访问
//                .antMatchers("/main.html","/pages/**").authenticated();
//
//        // 使用springSecurity默认的登录配置(自动生成登录页面、登录接口、退出接口……)
//        http.formLogin();
//    }
//
//
//}
